﻿Public Enum TaskleistenAnzeige
    Taskleiste
    TrayMenue
    Versteckt
End Enum
Public Class ObjektOptionsMenue
    Inherits ObjektFormMenue

    ''' <summary>
    ''' Nur OBjekte ganz unten hinzufuegen sonst stuerzt das Menue ab!
    ''' </summary>
    ''' <remarks></remarks>
    Public Sub New()
        MyBase.New(New ObjektButton() {}, Nothing, New ObjektNumericUpDown() {}, Nothing, New ObjektValueSchieber() {}, New ObjektMultiValue() {}, New ObjektCheckBox() {})
        If DataSettings.Verhaeltnis = Hauptmenue.Breitbild Then
            Objektverwalter.LoadHintergrund(DataSettings.Resourcenpfad + "Backgrounds\OptionenGross.png")
        Else
            Objektverwalter.LoadHintergrund(DataSettings.Resourcenpfad + "Backgrounds\Optionen.png")
        End If
        Dim PDrittel As PointF = New PointF(1 / 3, 1 / 3)
        Dim P As New ObjektPanel2D(New Rectangle(Hauptmenue.Rechteck.Width / 2 - 70, 0, 140, Hauptmenue.Rechteck.Height), PDrittel, 3, False)
        'Hier werden diese komischen Buttons erstellt
        Dim Y As Integer = DataSettings.BildschirmHoehe / 2 - 22 * 0.5
        Dim X As Integer = P.Rechteck.Width / 2 - 60
        NeuButton(X, Y - 60, DataSettings.Resourcenpfad + "Objects\Button.png", "Einheiten Menue", PDrittel, , , , P)
        NeuButton(X, Y - 30, DataSettings.Resourcenpfad + "Objects\Button.png", "KO Menue", PDrittel, , , , P)
        NeuButton(X, Y, DataSettings.Resourcenpfad + "Objects\Button.png", "KO Bild Aendern", PDrittel, , , , P)
        NeuButton(X, Y + 30, DataSettings.Resourcenpfad + "Objects\Button.png", "Eingabe", PDrittel, , , , P)
        NeuButton(X, Y + 60, DataSettings.Resourcenpfad + "Objects\Button.png", "Zurueck", PDrittel, , , , P)
        NeuButton(X, Y + 90, DataSettings.Resourcenpfad + "Objects\Button.png", "Speichern", PDrittel, , , , P)
        NeuPanel(P)

        Dim PanelLinks As New ObjektPanel2D(New Rectangle(0, 0, Hauptmenue.Rechteck.Width / 2 - 140, Hauptmenue.Rechteck.Height), PDrittel, 1, False)
        Dim PanelRechts As New ObjektPanel2D(New Rectangle(Hauptmenue.Rechteck.Width / 2 + 70, 0, Hauptmenue.Rechteck.Width / 2 - 140, Hauptmenue.Rechteck.Height), PDrittel, 1, False)

        'Bitte hier nichts veraendern ausser die Positionen danke
        'SpielGeschwindigkeit
        NeuLabel(10, 180, New String() {"Spielgeschwindigkeit"}, New PointF(1 / 3, 0), PanelRechts)
        neuNUD(DataSettings.SpielGeschwindigkeit, 1, 100, New Point(150, 180), DataSettings.Resourcenpfad + "Objects\NUD.png", 1, New PointF(1 / 3, 0), PanelRechts)
        'ScrollEmpfindlichkeit
        NeuLabel(10, 200, New String() {"Scrollen"}, New PointF(1 / 3, 0), PanelRechts)
        neuNUD(DataSettings.ScrollEmpfindlichkeit * 10, 1, 100, New Point(150, 200), DataSettings.Resourcenpfad + "Objects\NUD.png", 1, New PointF(1 / 3, 0), PanelRechts)
        'MausUmkehren
        NeuLabel(10, 220, New String() {"Scrollen umkehren"}, New PointF(1 / 3, 0), PanelRechts)
        If DataSettings.MausUmkehren > 0 Then
            NeuCheckBoxen(150, 220, "CheckBox", New PointF(1 / 3, 0), False, PanelRechts)
        Else
            NeuCheckBoxen(150, 220, "CheckBox", New PointF(1 / 3, 0), True, PanelRechts)
        End If
        'Textfliessgeschwindigkeit
        NeuLabel(10, 240, New String() {"Textgeschwindigkeit"}, New PointF(1 / 3, 0), PanelRechts)
        neuNUD(DataSettings.SprachSensitivitaet * 10, 1, 100, New Point(150, 240), DataSettings.Resourcenpfad + "Objects\NUD.png", 1, New PointF(1 / 3, 0), PanelRechts)
        'Autospeichern
        NeuLabel(10, 200, New String() {"Autospeichern"}, New PointF, PanelLinks)
        NeuCheckBoxen(150, 200, "CheckBox", New PointF, DataSettings.Autospeichern, PanelLinks)
        'BesetzungsAnimation
        NeuLabel(10, 140, New String() {"Besetzungsanimationen"}, New PointF, PanelLinks)
        NeuCheckBoxen(150, 140, "CheckBox", New PointF, DataSettings.BesetzungsAnimation, PanelLinks)
        'Musik
        NeuLabel(10, 160, New String() {"Stumm"}, New PointF, PanelLinks)
        NeuCheckBoxen(150, 160, "CheckBox", New PointF, Not DataSettings.MusikSound, PanelLinks)

        'Die Sprache 
        NeuLabel(10, 100, New String() {"Sprache"}, New PointF(1 / 3, 0), PanelRechts)
        NeuStringUpDown(150, 100, DataSettings.Resourcenpfad + "Objects\NUD.png", [Enum].GetNames(Sprachen.Deutsch.GetType), DataSettings.Sprache, New PointF(1 / 3, 0), PanelRechts)
        'SprachSensitivitaet
        NeuLabel(10, 130, New String() {"Sprachsenivitaet"}, New PointF(1 / 3, 0), PanelRechts)
        neuNUD(DataSettings.SprachSensitivitaet * 100, 0, 100, New Point(150, 130), DataSettings.Resourcenpfad + "Objects\NUD.png", 1, New PointF(1 / 3, 0), PanelRechts)
        'SprachZuhoeren
        NeuLabel(10, 160, New String() {"Zuhoeren"}, New PointF(1 / 3, 0), PanelRechts)
        NeuCheckBoxen(150, 160, "CheckBox", New PointF(1 / 3, 0), DataSettings.SprachZuhoeren, PanelRechts)
        'Autor
        NeuLabel(10, 220, New String() {Sprachconverter.Translate("Nickname") + " :"}, New PointF, PanelLinks)
        NeuTextFeld(150, 220, 165, New PointF(0, 0), PanelLinks)
        Textboxen(0).SetText(DataSettings.Autor)
        'Spielmodus
        NeuLabel(10, 260, New String() {Sprachconverter.Translate("Spielmodus") + " :"}, New PointF, PanelLinks)
        NeuDropDownMenue(150, 260, New String() {"Advance Wars", "Advance Wars 2", "Advance Wars DS", "Commander Wars", "Advance Wars DC", "Commander Wars 2"}, New PointF, PanelLinks)
        DropDownMenues(0).SetItem(DataSettings.CommanderWarsGameModus)

        NeuLabel(10, 280, New String() {Sprachconverter.Translate("Terrain Style") + " :"}, New PointF, PanelLinks)
        NeuDropDownMenue(150, 280, New String() {"Advance Wars", "Advance Wars 2", "Commander Wars", "Advance Wars DC", "Commander Wars 2", "Custom Wars", "Custom Terrain 1", "Custom Terrain 2", "Custom Terrain 3"}, New PointF, PanelLinks)
        DropDownMenues(1).SetItem(DataSettings.TerrainStyle)
        'Vollbildschirm
        NeuLabel(10, 270, New String() {Sprachconverter.Translate("Vollbild") + ":"}, New PointF(1 / 3, 0), PanelRechts)
        NeuCheckBoxen(150, 270, "CheckBox", New PointF(1 / 3, 0), Not DataSettings.Fenstermodus, PanelRechts)
        'Spiel aufzeichen
        NeuLabel(10, 300, New String() {Sprachconverter.Translate("Aufzeichnen") + ":"}, New PointF(1 / 3, 0), PanelRechts)
        NeuCheckBoxen(150, 300, "CheckBox", New PointF(1 / 3, 0), DataSettings.Aufzeichnen, PanelRechts)
        'Infomenue
        NeuLabel(10, 330, New String() {Sprachconverter.Translate("Infomenue") + ":"}, New PointF(1 / 3, 0), PanelRechts)
        NeuCheckBoxen(150, 330, "CheckBox", New PointF(1 / 3, 0), DataSettings.InfoMenue, PanelRechts)

        'Auto Resize
        NeuLabel(10, 360, New String() {Sprachconverter.Translate("Auto-Resize") + ":"}, New PointF(1 / 3, 0), PanelRechts)
        NeuCheckBoxen(150, 360, "CheckBox", New PointF(1 / 3, 0), DataSettings.AutoresizeWindow, PanelRechts)

        'Anzeige Ort des Symbols
        NeuLabel(10, 390, New String() {Sprachconverter.Translate("Icon") + " :"}, New PointF(1 / 3, 0), PanelRechts)
        NeuDropDownMenue(150, 390, [Enum].GetNames(TaskleistenAnzeige.Taskleiste.GetType), New PointF(1 / 3, 0), PanelRechts)
        DropDownMenues(2).SetItem(DataSettings.TaskAnzeigenModus)

        'Hintergrundmusik
        NeuLabel(10, 180, New String() {"Hintergrundmusik"}, New PointF, PanelLinks)
        NeuCheckBoxen(150, 180, "CheckBox", New PointF, DataSettings.Hintergrundmusik, PanelLinks)
        'Ab hier duerfen neue Objekte eingefuegt werden
        'IP Server Host!
        NeuLabel(10, 300, New String() {Sprachconverter.Translate("Server IP") + " :"}, New PointF, PanelLinks)
        NeuTextFeld(150, 300, 165, New PointF(0, 0), PanelLinks)
        Textboxen(1).SetText(DataSettings.LobbyServerIP)
        'Server Host oder Server Client
        NeuLabel(10, 330, New String() {Sprachconverter.Translate("Host") + ":"}, New PointF(), PanelLinks)
        NeuCheckBoxen(150, 330, "CheckBox", New PointF(), DataSettings.LobbyHost, PanelLinks)
        'Malmodus
        NeuLabel(10, 420, New String() {Sprachconverter.Translate("Malmodus") + " :"}, New PointF(1 / 3, 0), PanelRechts)
        NeuDropDownMenue(150, 420, New String() {"2D", "2D\3D", "3D"}, New PointF(1 / 3, 0), PanelRechts)
        If DataSettings.draw3D Then
            DropDownMenues(3).SetItem(2)
        ElseIf DataSettings._2D_3D_Malen Then
            DropDownMenues(3).SetItem(1)
        Else
            DropDownMenues(3).SetItem(0)
        End If
        'KampfAnimationen
        NeuLabel(10, 120, New String() {"Kampfanimationen"}, New PointF, PanelLinks)
        NeuDropDownMenue(150, 120, [Enum].GetNames(KampfanimationsTypen.Alle.GetType), New PointF, PanelLinks)
        DropDownMenues(4).SetItem(DataSettings.KampfAnimationen)

        NeuLabel(10, 450, New String() {Sprachconverter.Translate("Aufloesung") + " :"}, New PointF(1 / 3, 0), PanelRechts)
        Dim MomPos As Integer = -1
        If DataSettings.Fenstermodus Then
            Dim Aufloesungen As List(Of String) = GetScreenResolutions(MomPos)
            Dim NeueListe As New List(Of String)
            NeueListe.Add(DataSettings.BildschirmBreite.ToString + " x " + DataSettings.BildschirmHoehe.ToString + " x " + Grafikengine.GetCurrentColorDepth.ToString)
            Dim ScreenSize As Size = My.Computer.Screen.Bounds.Size
            For I = 0 To Aufloesungen.Count - 1
                If Aufloesungen(I) <> NeueListe(0) Then
                    Dim Aufl As String() = Aufloesungen(I).Split("x"c)
                    Dim W As Integer = CInt(Aufl(0).Trim)
                    Dim H As Integer = CInt(Aufl(1).Trim)
                    If W < ScreenSize.Width And H < ScreenSize.Height Then
                        NeueListe.Add(Aufloesungen(I))
                    End If
                End If
            Next
            NeuDropDownMenue(150, 450, NeueListe.ToArray, New PointF(1 / 3, 0), PanelRechts)
            DropDownMenues(5).SetItem(0)
        Else
            NeuDropDownMenue(150, 450, GetScreenResolutions(MomPos).ToArray, New PointF(1 / 3, 0), PanelRechts)
            DropDownMenues(5).SetItem(MomPos)
        End If
        'Auto End Turn
        NeuLabel(10, 480, New String() {Sprachconverter.Translate("Auto Runden Ende") + ":"}, New PointF(), PanelRechts)
        NeuCheckBoxen(150, 480, "CheckBox", New PointF(), DataSettings.AutoEndTurn, PanelRechts)
        'Cursor
        NeuLabel(10, 510, New String() {Sprachconverter.Translate("Windows Cursor") + ":"}, New PointF(), PanelRechts)
        NeuCheckBoxen(150, 510, "CheckBox", New PointF(), Not DataSettings.HideCursor, PanelRechts)
        'Auto End Turn
        NeuLabel(10, 540, New String() {Sprachconverter.Translate("Tooltips") + ":"}, New PointF(), PanelRechts)
        NeuCheckBoxen(150, 540, "CheckBox", New PointF(), DataSettings.ToolTips, PanelRechts)

        If Hauptmenue.Debbuging Then 'Objects that can only be seen during Debugging.


        End If
        'So die beiden Panels hinzufuegen
        NeuPanel(PanelLinks)
        NeuPanel(PanelRechts)
    End Sub

    Public Overrides Sub Frame()

    End Sub
    Public Overrides Sub IniMenue()

    End Sub

    Public Overrides Sub KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
        If Not KeyDownObjekte(sender, e) Then
            Select Case e.KeyCode
                Case Keys.Escape
                    ButtonGeklicktLinks("Zurueck")
                Case Else
            End Select
        End If
    End Sub
    Public Overrides Sub Malen()
        MyBase.ObjekteMalen()
    End Sub
    Public Overrides Sub MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        checkMouseDownObjekte(ObjektMaus.XKoordinate, ObjektMaus.YKoordinate)
    End Sub
    Public Overrides Sub MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        MouseMoveObjekte(e.X, e.Y)
    End Sub
    Public Overrides Sub MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        Select Case e.Button
            Case Windows.Forms.MouseButtons.Left
                ButtonGeklicktLinks(checkMouseUPObjekte(ObjektMaus.XKoordinate, ObjektMaus.YKoordinate))
        End Select
    End Sub
    Public Sub ButtonGeklicktLinks(ByVal Effekt As String)
        If Effekt = Nothing Then
            Exit Sub
        End If
        Select Case Effekt.ToLower
            Case "eingabe"
                Hauptmenue.Ini(Hauptmenue.Formmodi.KeyMenue)
            Case "zurueck"
                Hauptmenue.Ini(Hauptmenue.Formmodi.Hauptmenue)
            Case "speichern"
                SaveOptions()
            Case "ko menue"
                Hauptmenue.Ini(Hauptmenue.Formmodi.KOZufallMenue)
            Case "einheiten menue"
                Hauptmenue.Ini(Hauptmenue.Formmodi.EinheitenAuswahlMenue)
            Case "ko bild aendern"
                Hauptmenue.Ini(Hauptmenue.Formmodi.KOBildAendern)
        End Select
    End Sub
    Public Sub SaveOptions()
        'NUDS auslesen
        DataSettings.SpielGeschwindigkeit = NUDS(0).GetValue
        DataSettings.ScrollEmpfindlichkeit = NUDS(1).GetValue / 10
        DataSettings.Textfliessgeschwindigkeit = NUDS(2).GetValue / 10
        DataSettings.SprachSensitivitaet = NUDS(3).GetValue / 100
        'Checkboxen auslesen.
        If CheckBoxen(0).Checked = False Then
            DataSettings.MausUmkehren = 1
        Else
            DataSettings.MausUmkehren = -1
        End If
        DataSettings.Autospeichern = CheckBoxen(1).Checked
        DataSettings.BesetzungsAnimation = CheckBoxen(2).Checked
        DataSettings.MusikSound = Not CheckBoxen(3).Checked
        If DataSettings.MusikSound = False Then
            MusikEngine.Dispose()
        End If
        Dim AlteSprache As Sprachen = DataSettings.Sprache
        DataSettings.SprachZuhoeren = CheckBoxen(4).Checked
        'SUDS auslesen
        DataSettings.KampfAnimationen = [Enum].Parse(KampfanimationsTypen.Alle.GetType, DropDownMenues(4).GetItem)
        DataSettings.Sprache = [Enum].Parse(Sprachen.Deutsch.GetType, SUDS(0).GetValue)
        Dim AlterModus As Integer = DataSettings.CommanderWarsGameModus
        Select Case DropDownMenues(0).GetItem
            Case "Advance Wars"
                DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars
            Case "Advance Wars 2"
                DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars2
            Case "Advance Wars DS"
                DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDS
            Case "Commander Wars"
                DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.CommanderWars
            Case "Advance Wars DC"
                DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC
            Case "Commander Wars 2"
                DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.CommanderWars2
            Case Else
                DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.CommanderWars
        End Select
        Dim AlterTStyle As TerrainStyle = DataSettings.TerrainStyle
        Select Case DropDownMenues(1).GetItem
            Case "Advance Wars"
                DataSettings.TerrainStyle = TerrainStyle.AdvanceWars
            Case "Advance Wars 2"
                DataSettings.TerrainStyle = TerrainStyle.AdvanceWars2
            Case "Commander Wars"
                DataSettings.TerrainStyle = TerrainStyle.CommanderWars
            Case "Advance Wars DC"
                DataSettings.TerrainStyle = TerrainStyle.AdvanceWarsDC
            Case "Commander Wars 2"
                DataSettings.TerrainStyle = TerrainStyle.CommanderWars2
            Case "Custom Wars"
                DataSettings.TerrainStyle = TerrainStyle.CustomWars
            Case "Custom Terrain 1"
                DataSettings.TerrainStyle = TerrainStyle.CustomTerrainstyle1
            Case "Custom Terrain 2"
                DataSettings.TerrainStyle = TerrainStyle.CustomTerrainstyle2
            Case "Custom Terrain 3"
                DataSettings.TerrainStyle = TerrainStyle.CustomTerrainstyle3
            Case Else
                DataSettings.TerrainStyle = TerrainStyle.CommanderWars
        End Select
        If DataSettings.Sprache <> AlteSprache Then
            Objektverwalter.KOTexturenLaden()
        End If
        'Neue Sprache Laden
        Sprachconverter.LoadLanguage()
        'Autor festlegen
        If DataSettings.Autor <> Textboxen(0).GetText Then
            DataSettings.Autor = Textboxen(0).GetText
            Hauptmenue.User = New Userdata()
        End If
        'Taskleisten Anzeige Modus
        DataSettings.TaskAnzeigenModus = [Enum].Parse(TaskleistenAnzeige.Taskleiste.GetType, DropDownMenues(2).GetItem)
        If DataSettings.TaskAnzeigenModus = TaskleistenAnzeige.Versteckt Then
            Cursor.Show()
            Select Case DataSettings.Sprache
                Case Sprachen.Deutsch
                    If Not MessageBox.ShowMessageBox("Bist du sicher, dass du den Versteckten Modus aktivieren willst?" + Environment.NewLine + "Das Spiel wird dann weder in der Taskleiste, noch in dem Try-Menue angezeigt. wenn du es Minimierst, Maximierst, oder Schliesst, wird es nicht beendet, sondern nur Unsichtbar! Es ist dann auch nicht mehr im Task-Manager unter Anwendungen zu sehen, nur noch unter Prozesse ist es aufgelistet" + Environment.NewLine + Environment.NewLine + "WICHTIG!!!: um das Fenster wieder zu aktivieren, musst du GENAU im Sekundentakt ""commander wars"" eingeben, dann erscheint es wieder!", MsgBoxStyle.OkCancel, "Versteckten Modus Aktivieren?") = MsgBoxResult.Ok Then
                        DataSettings.TaskAnzeigenModus = TaskleistenAnzeige.Taskleiste
                    End If
                Case Sprachen.English
                    If Not MessageBox.ShowMessageBox("Are you sure, that you want to enable the hidden mode?" + Environment.NewLine + "The game will not be shown. Neither in the taskbar, nor in the tray menu, nor in the Taskmanager at ""Applications"". It will be only shown in the Taskmanager at ""Processes""! If you minimize, maximize, or close the game, it will become invisible!" + Environment.NewLine + Environment.NewLine + "IMPORTANT!!!: to activate the game, you have to enter the Code ""commander wars"" (with space) accuratly at the frequency of one secound. Then it will become visible again.", MsgBoxStyle.OkCancel, "activate Hidden-Mode?") = MsgBoxResult.Ok Then
                        DataSettings.TaskAnzeigenModus = TaskleistenAnzeige.Taskleiste
                    End If
                Case Else
                    If Not MessageBox.ShowMessageBox("Are you sure, that you want to enable the hidden mode?" + Environment.NewLine + "The game will not be shown. Neither in the taskbar, nor in the tray menu, nor in the Taskmanager at ""Applications"". It will be only shown in the Taskmanager at ""Processes""! If you minimize, maximize, or close the game, it will become invisible!" + Environment.NewLine + Environment.NewLine + "IMPORTANT!!!: to activate the game, you have to enter the Code ""commander wars"" (with space) accuratly at the frequency of one secound. Then it will become visible again.", MsgBoxStyle.OkCancel, "activate Hidden-Mode?") = MsgBoxResult.Ok Then
                        DataSettings.TaskAnzeigenModus = TaskleistenAnzeige.Taskleiste
                    End If
            End Select
            Cursor.Hide()
        End If
        'Vollbild
        If Not DataSettings.TaskAnzeigenModus = TaskleistenAnzeige.Taskleiste Then CheckBoxen(6).Checked = False 'nur zum sichergehen. Das verstecken und so ist nur mit dem Fenstermodus kompatibel!
        If DataSettings.Fenstermodus <> Not CheckBoxen(5).Checked Then
            Grafikengine.ChangeWindowState = True
        End If
        'Aufzeichnungen
        DataSettings.Aufzeichnen = CheckBoxen(6).Checked
        'Infomenue
        DataSettings.InfoMenue = CheckBoxen(7).Checked
        'Autoresize
        DataSettings.AutoresizeWindow = CheckBoxen(8).Checked
        'Hintergrundmusik
        DataSettings.Hintergrundmusik = CheckBoxen(9).Checked
        If DataSettings.Hintergrundmusik = False Then
            MusikEngine.MusikStop()
        End If
        DataSettings.LobbyServerIP = Textboxen(1).GetText
        DataSettings.LobbyHost = CheckBoxen(10).Checked
        If Not DataSettings.LobbyHost Then
            If Hauptmenue.Lobby IsNot Nothing Then
                Hauptmenue.Lobby.CloseLobby()
            End If
        End If
        'Auto End Turn
        DataSettings.AutoEndTurn = CheckBoxen(11).Checked
        'Windows Cursor
        DataSettings.HideCursor = Not CheckBoxen(12).Checked
        'Tooltips
        DataSettings.ToolTips = CheckBoxen(13).Checked
        'Malmodus festlegen
        Select Case DropDownMenues(3).GetItemNumber
            Case 2
                DataSettings.draw3D = True
                DataSettings._2D_3D_Malen = False
            Case 1
                DataSettings.draw3D = False
                DataSettings._2D_3D_Malen = True
            Case Else
                DataSettings.draw3D = False
                DataSettings._2D_3D_Malen = False
        End Select
        Dim Res() As String = DropDownMenues(5).GetItem.ToString.Split("x"c)
        Dim ScrWidth As Integer = CInt(Res(0).Trim)
        Dim ScrHeight As Integer = CInt(Res(1).Trim)
        Dim CDepth As Integer = CInt(Res(2).Trim)

        Grafikengine.ChangeScreenResolution(ScrWidth, ScrHeight, CDepth)

        Grafikengine.InitDeviceValues()
        DataSettings.MySettingsIniSave()
        'Evtl. 3D laden
        If DataSettings.draw3D Then
            ObjektLadeklasse.Load3D()
            ObjektMaus.CursorLaden()
        End If
        Dim ReloadTerrain As Boolean = False
        If AlterTStyle <> DataSettings.TerrainStyle Or DataSettings.draw3D Then
            ReloadTerrain = True
        End If
        If DataSettings.CommanderWarsGameModus <> AlterModus Or ReloadTerrain Then
            'wir muessen die neuen Texturen holen.
            Objektverwalter.LoadNewGameModus(ReloadTerrain)
        End If
        'Ini Speichern.
        DataSettings.MySettingsIniSave()
        Hauptmenue.AktualisierenTaskbar()
        'Optionen Aktualisieren
        Hauptmenue.Ini(Hauptmenue.Formmodi.Optionen)

    End Sub


    Public Overrides Sub MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)

    End Sub
    Public Overrides Sub SetMausBild()
        ObjektMaus.Zustand = ObjektMaus.Zustaende.Menue
    End Sub

    Public Overrides Sub SprachEingabe(ByVal Eingabe As String)
        ButtonGeklicktLinks(Eingabe.ToLower)
    End Sub
    Public Overrides Sub ChangeWindowSize(ByVal PosChange As System.Drawing.Point)
        MyBase.ChangeWindowSizeObjekte(PosChange)
    End Sub


    Public Overrides Sub KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)

    End Sub
End Class
